package com.yixun.qfbao.hander;

import com.alibaba.fastjson.JSONArray;
import com.yixun.qfbao.api.service.PersonnelService;
import com.yixun.qfbao.apidto.ExportBatchImpErrorReqDto;
import com.yixun.qfbao.apidto.ExportBatchImpErrorResDto;
import com.yixun.qfbao.apidto.ExportPartnerReqDto;
import com.yixun.qfbao.apidto.ExportPartnerResDto;
import com.yixun.qfbao.dto.base.BaseRequestDTO;
import com.yixun.qfbao.dto.base.BaseResponseDTO;
import com.yixun.qfbao.hander.base.CommonAbstractHander;
import com.yixun.qfbao.model.ImportLog;
import com.yixun.qfbao.model.dto.ImportErrorDto;
import com.yixun.qfbao.model.dto.ImportLogDto;
import com.yixun.qfbao.service.ImportLogService;
import com.yixun.qfbao.vo.ExportBatchImpErrorReqVo;
import com.yixun.qfbao.vo.ExportPartnerReqVo;
import com.yixun.qfbao.xf.model.enums.ResultEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @Description
 * @Date 2017/11/25
 * @Author JHSong
 * @Computer Administrator
 */
@Service("exportBatchImpErrorHander")
public class ExportBatchImpErrorHander extends CommonAbstractHander {
    private static Logger logger= LoggerFactory.getLogger(ExportBatchImpErrorHander.class);
    @Autowired
    private ImportLogService importLogService;

    @SuppressWarnings("rawtypes")
    @Override
    public BaseResponseDTO doBusiness(BaseRequestDTO reqDto) {
        ExportBatchImpErrorReqVo req = (ExportBatchImpErrorReqVo)reqDto;
        ExportBatchImpErrorReqDto exportBatchImpErrorReqDto = req.getParams();
        BaseResponseDTO<ExportBatchImpErrorResDto> res = new BaseResponseDTO<ExportBatchImpErrorResDto>();
        ExportBatchImpErrorResDto resDto = new ExportBatchImpErrorResDto();
        try {
            String batchId = exportBatchImpErrorReqDto.getBatchId();
            ImportLogDto impLogDto = new ImportLogDto();
            impLogDto.setBatchId(batchId);
            ImportLog importLog = importLogService.selectByDto(impLogDto);
            JSONArray errorArray = new JSONArray();
            if(null != importLog){
                String errorData = importLog.getErrorData();
                errorArray = JSONArray.parseArray(errorData);
            }
            resDto.setResult(ResultEnum.SUCCESS.getNo());
            resDto.setErrorJson(errorArray);
        } catch (Exception e) {
            logger.error("ExportBatchImpErrorHander error: {}", e);
            resDto.setResult(ResultEnum.FAIL.getNo());
            resDto.setResultMsg("导出文件失败!");
        }
        res.setResData(resDto);
        res.setResult(resDto.getResult());
        return res;
    }
}
